iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0

前言

今天的進度不多,所以分享一些研究過程中得到的知識。

假設你想要在網路上開一個網站,會有哪些方法呢?

最傳統的方式是自己買一台伺服器,放在公司或家裡,自己管網路、電力、硬體、軟體,什麼都要顧。但這樣做麻煩又貴,硬體壞掉還要自己修。

後來雲端服務出現了,我們不用再「買機器」,而是直接「租機器」或「租平台」。這就是我們常聽到的 IaaS(Infrastructure as a Service)PaaS(Platform as a Service)

這次我在研究怎麼把服務上線的時候碰到這個問題:我要用哪種方案架設我的網站,IaaS還是PaaS

這兩者差在哪裡?什麼時候該用 IaaS?什麼時候該用 PaaS?這篇文章就來幫你一次釐清。


雲端服務的演進脈絡

要理解 IaaS、PaaS,先看雲端的演進:

  • 自建機房:一切自己處理,從硬體、網路、冷氣機到作業系統,全都要管。
  • IaaS:廠商提供基礎硬體(伺服器、儲存空間、網路),你自己安裝 OS、架資料庫。
  • PaaS:廠商幫你準備好平台(OS、Runtime、Middleware),你只需要專注在寫程式、部署應用。
  • SaaS:廠商把整個服務做好,你直接用就行(Gmail、Slack、Notion 都是 SaaS)。

👉 可以把這個過程想成:

「從買地蓋房子 → 租空地自己蓋 → 租裝潢好的套房 → 直接住飯店」。


IaaS:雲端的虛擬主機

定義

IaaS 是 Infrastructure as a Service(基礎設施即服務)。它讓你「租用基礎建設」:伺服器、儲存、網路、防火牆。

就像拿到一台「雲端電腦」,作業系統和應用程式等建設要自己裝。

特點

  • 高自由度,可以選擇 OS、安裝各種軟體。
  • 資料庫、應用、監控都要自己維護。
  • 收費依 VM 規格(CPU、RAM、Storage)和使用時間計算。

常見服務

  • AWS EC2
  • Google Compute Engine
  • Azure Virtual Machines
  • Hostinger VPS (virtual private server 虛擬專用伺服器)

比喻

👉 IaaS 就像租一塊空地,水電幫你接好,但房子要自己蓋


PaaS:幫你準備好的開發平台

定義

PaaS 是 Platform as a Service(平台即服務)

除了伺服器,它還幫你準備好作業系統、Runtime、資料庫、Auto Scaling。你只需要「丟程式碼」上去,它就能跑。

特點

  • 不用管系統更新、硬體維護。
  • 有內建自動伸縮機制(流量高會自動加機器)。
  • 通常提供 Log、版本管理、CI/CD 整合。
  • 收費可依 request、用量或服務時間計算。(太久沒人用 機器就進入閒置模式之類的)

常見服務

  • Heroku
  • Google App Engine
  • AWS Elastic Beanstalk
  • Azure App Service

比喻

👉 PaaS 就像租一間裝潢好的套房,水電家具全有了,你只要搬進去住


IaaS vs PaaS:誰管什麼?

這張表能幫你快速分清:

層級 自建機房 IaaS PaaS SaaS
應用程式
資料
Runtime / Middleware
作業系統
硬體 / 網路

(✅ = 使用者自己負責;❌ = 服務商負責)


使用情境:什麼時候選 IaaS?什麼時候選 PaaS?

選 IaaS 的情況

  • 想要掌控 OS、資料庫版本、網路設定。
  • 舊系統要上雲(lift & shift)。
  • 公司內部有 DevOps 團隊能處理維運。

選 PaaS 的情況

  • Startup 要快速丟 MVP 上線。
  • 學生 Side Project,不想煩惱維運。
  • 想專注在業務邏輯,不想管基礎架構。

成本與風險

IaaS

  • 成本:依規格、時間收費,可預測。
  • 風險:維運成本高,系統安全、升級都要自己處理。

PaaS

  • 成本:依 request / 用量計費,小規模便宜,但流量大時可能爆炸。
  • 風險:容易遭遇 Vendor Lock-In(廠商鎖定),換平台需要重構。

真實案例:體驗差異

假設你要部署一個 Node.js 網站:

  • IaaS(AWS EC2)
    • 你要:
      • 租一台 VM
      • 裝 Ubuntu
      • 安裝 Node.js、Nginx
      • 設定 SSL、排程備份
    • 需要半天~一天才能弄好。
  • PaaS(Heroku)
    • 你只要:
      • git push heroku main
    • 網站自動跑起來,幾分鐘搞定。

這就是差異:IaaS 給你「完全掌控」,PaaS 給你「快速便利」。


後記

我的網站 MyMomentum 是 Spring Boot + React + PostgreSQL ,有三個東西要跑。

理論上,用PaaS成本應該比較低,實作起來也比較快,但感覺不對。

用PaaS,對我來說就像是,去買課程跟老師學煮菜,結果到了現場老師說:「這邊這台機器按下去,當啷 就做好了,我們只需要備料就好了呢」 這種感覺。

怎麼說呢,我買課就是為了學做菜,結果你搞了一台機器直接跳過做菜的過程,那我買課幹嘛?

總之就是感覺不對,所以後續還是會以「租一台 VPS(IaaS)跑 Docker Compose」這個方向去做,把前後端和資料庫都先包在一起,先求能用。

然後等系統比較穩定後,再來玩玩看 PaaS (資料庫挪出來 RDS 之類的),一方面更接近專業實務,一方面也能減輕維運負擔。

這樣的路線,既能確保我一步步學到實務經驗,也能讓 MyMomentum 真的跑在網路上,成為一個能被打開來用的服務。


上一篇
Day20 : 從 Side Project 到正式服務:我如何規劃 MyMomentum 的上線
下一篇
Day22:主流 VPS 供應商比較與費率分享
系列文
我的時間到底去哪裡了!? – 個人時間數據系統開發挑戰24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言